﻿using vudu.ClasesDominio;
using vudu.Datos.SqlServer;
using System;
using vudu.Logica.Clases;
using System.Collections.Generic;
using NUnit.Framework;

namespace vudu.Pruebas
{
    [TestFixture]
    public class PruebaEnlaceDeDatosEstudiante
    {

        [Test]
        public void PruebaConsultarUnEstudiante()
        {
            SqlServerEstudiante sqlEst = new SqlServerEstudiante();
            Estudiante est = new Estudiante();
            est = sqlEst.ConsultarUnEstudiante(19345678);
            Assert.IsNotNull(est);
            Assert.IsInstanceOf(typeof(Estudiante), est);
            Assert.AreEqual(est.IdEst, 1);
            Assert.AreEqual(est.Cedula, 19345678);
            Assert.AreEqual(est.Nombre, "Pedro");
            Assert.AreEqual(est.Expediente, "123");
        }

        [Test]
        public void PruebaConsultarCedula()
        {
            SqlServerEstudiante sqlEst = new SqlServerEstudiante();
            Estudiante est = new Estudiante();
            est = sqlEst.ConsultarEstudianteCedula(19345678);
            Assert.IsNotNull(est);
            Assert.IsInstanceOf(typeof(Estudiante), est);
            Assert.AreEqual(est.IdEst, 1);
            Assert.AreEqual(est.Cedula, 19345678);
            Assert.AreEqual(est.Nombre, "Pedro");
            Assert.AreEqual(est.Expediente, "123");
        }


        [Test]
        public void PruebaConsultarExpe()
        {
            SqlServerEstudiante sqlEst = new SqlServerEstudiante();
            Estudiante est = new Estudiante();
            est = sqlEst.ConsultarEstudianteExpe("123");
            Assert.IsNotNull(est);
            Assert.IsInstanceOf(typeof(Estudiante), est);
            Assert.AreEqual(est.IdEst, 1);
            Assert.AreEqual(est.Cedula, 19345678);
            Assert.AreEqual(est.Nombre, "Pedro");
            Assert.AreEqual(est.Expediente, "123");
        }


        [Test]
        public void PruebaConsultarEstudianteExistente()
        {
            SqlServerEstudiante sqlEst = new SqlServerEstudiante();
            Estudiante est = new Estudiante();
            int aux = 0;
            int aux2 = 0;
            aux = sqlEst.ConsultarEstudianteExistente(19345678);
            aux2 = sqlEst.ConsultarEstudianteExistente(00000000);
            Assert.AreEqual(aux, 19345678);
            Assert.AreEqual(aux2, 0);
           
        }
        [Test]
        public void PruebaInsertarEstudiante()
        {
            SqlServerEstudiante sqlEst = new SqlServerEstudiante();
            Estudiante est = new Estudiante();
            Estudiante est2 = new Estudiante();
            est2.Cedula = 12345678;
            est2.Nombre = "nombrex";
            est2.Apellido = "apex";
            est2.Expediente = "111";
            string fechanac = "1980-10-10";
            DateTime Nacimiento = Convert.ToDateTime(fechanac);
            est2.FechaNacimiento = Nacimiento;
            est2.Sexo = "Masculino";
            est2.Telefono = "3256895";
            est2.Correo = "correoprueba@gmail.com";
            int aux = 0;
            aux= sqlEst.InsertarEstudiante(est2);
            est = sqlEst.ConsultarEstudianteCedula(12345678);
            Assert.IsNotNull(est);
            Assert.IsInstanceOf(typeof(Estudiante), est);
            Assert.AreEqual(est.Cedula, 12345678);
            Assert.AreEqual(est.Nombre, "nombrex");
            Assert.AreEqual(est.Expediente, "111");
            
        }

        [Test]
        public void PruebaInsertarEstudianteEscuela()
        {
            SqlServerEstudiante sqlEst = new SqlServerEstudiante();
            int aux = 0;
            DateTime fecha = Convert.ToDateTime("1990-11-11");
            aux = sqlEst.InsertarEstudianteEscuela(1,1,fecha);
            Assert.AreNotEqual(aux, 0);
        }
    }
}